/*
    This file is part of Emu.

    Emu is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Emu is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Emu.  If not, see <http://www.gnu.org/licenses/>. */
#ifndef EPREFS_H
# define EPREFS_H

# include <QByteArray>
# include <QPoint>
# include <QSize>
# include <QFont>

class EGlobalPrefs
{
public:
    ~EGlobalPrefs();

    static EGlobalPrefs *loadPrefs();
    static void savePrefs(EGlobalPrefs *);

    /* Display splitter handle position. */
    QByteArray handle() { return _handle; }
    QSize viewerSize() { return _viewerSize; }
    QPoint viewerPos() { return _viewerPos; }
    QFont font() { return _font; }

    void setHandle(QByteArray b) { _handle = b; }
    void setViewerPos(QPoint p) { _viewerPos = p; }
    void setViewerSize(QSize s) { _viewerSize = s; }
    void setFont(QFont f) { _font = f; }

private:
    EGlobalPrefs *_initial;
    QByteArray _handle;
    QSize _viewerSize;
    QPoint _viewerPos;
    QFont _font;

    bool modified();
    void setInitial(EGlobalPrefs *);
};

#endif

